package com.vast.admin.api.entity;

import lombok.Data;

@Data
public class UploadContract {

    /**
     * 合同能够签署的到期时间
     *  合同必须在指定的到期时间之前完成签署，一旦过期则此合同将无法被签署。
     *  格式为秒级的unix时间戳，计算方法：当前系统时间的时间戳秒数+有效期秒数。
     *  比如当前时间“2019/10/22 10:21:52”即1571710912，希望3天内完成签署（加3天即截止到“2019/10/25 10:21:52”），
     *  3天是259200秒，则到期时间设置为1571970112（即1571710912+259200）；如果不填则默认为创建后加7天有效期。
     */
    private String expireTime;

    /**
     * 合同内容描述
     */
    private String description;

    /**
     * 合同标题
     */
    private String title;

    /**
     * 文件内容
     * 文件内容Base64字符串，
     * 例如：
     *      FileInputStream file = new FileInputStream("d: \\test\\接口系统.pdf");
     *      byte[] bdata = IOUtils.toByteArray(file);
     *      String fdata =Base64.encodeBase64String(bdata);
     */
    private String fdata;

    /**
     * 文件总页数
     */
    private String fpages;

    /**
     * 文件名称 文件名必须带上后缀名，例如“XXXX.pdf”
     */
    private String fname;

    /**
     * 文件类型 文件类型，目前仅支持pdf
     */
    private String ftype = "pdf";

    /**
     * 用户账号 必须要指定一个用户帐号作为操作者
     */
    private String account;

    /**
     * 文件MD5值
     * 合同文件MD5值，例如：
     *      FileInputStream file = new FileInputStream("d: \\test\\接口系统.pdf");
     *      byte[] bdata = IOUtils.toByteArray(file);
     *      String fmd5 = DigestUtils.md5Hex(bdata);
     */
    private String fmd5;

    /**
     * 热存周期
     * 此参数是合同文件在热存储中保留的时间长度，单位为秒。
     * 保存在热存储中的合同数据，自合同结束时间算起，超过此此参数设定时长的合同文件，会转移到冷存储中。
     * 计算示例：
     *      如保存365天，则值为3600*24*365=31536000。
     *      参数可为空，为空时默认值为1年（31536000）。
     *      取值范围为3600（1小时）~157680000（5年）
     */
    private String hotStoragePeriod;
}
